home *** CD-ROM | disk | FTP | other *** search
/ Developer CD Series 2000 July: Mac OS SDK / Dev.CD Jul 00 SDK2.toast / Development Kits / Cross Platform / QuickTime 4.1.2 Windows SDK / CIncludes / Slots.h < prev    next >
Encoding:
C/C++ Source or Header  |  2000-04-12  |  21.7 KB  |  554 lines  |  [TEXT/R*ch]

  1. /*
  2.      File:        Slots.h
  3.  
  4.      Contains:    Slot Manager Interfaces.
  5.  
  6.      Version:    Technology:    System 7.5
  7.                  Release:    QuickTime 4.1
  8.  
  9.      Copyright:    (c) 1986-1993, 1995-1999 by Apple Computer, Inc., all rights reserved
  10.  
  11.      Bugs?:        For bug reports, consult the following page on
  12.                  the World Wide Web:
  13.  
  14.                      http://developer.apple.com/bugreporter/
  15.  
  16. */
  17. #ifndef __SLOTS__
  18. #define __SLOTS__
  19.  
  20. #ifndef __MACTYPES__
  21.     #include <MacTypes.h>
  22. #endif
  23.  
  24. #ifndef __EVENTS__
  25.     #include <Events.h>
  26. #endif
  27.  
  28. #ifndef __FILES__
  29.     #include <Files.h>
  30. #endif
  31.  
  32.  
  33.  
  34.  
  35. #if PRAGMA_ONCE
  36. #pragma once
  37. #endif
  38.  
  39. #ifdef __cplusplus
  40. extern "C" {
  41. #endif
  42.  
  43. #if PRAGMA_IMPORT
  44. #pragma import on
  45. #endif
  46.  
  47. #if PRAGMA_STRUCT_ALIGN
  48.     #pragma options align=mac68k
  49. #elif PRAGMA_STRUCT_PACKPUSH
  50.     #pragma pack(push, 2)
  51. #elif PRAGMA_STRUCT_PACK
  52.     #pragma pack(2)
  53. #endif
  54.  
  55. enum {
  56.     fCardIsChanged                = 1,                            /*Card is Changed field in StatusFlags field of sInfoArray*/
  57.     fCkForSame                    = 0,                            /*For SearchSRT. Flag to check for SAME sResource in the table. */
  58.     fCkForNext                    = 1,                            /*For SearchSRT. Flag to check for NEXT sResource in the table. */
  59.     fWarmStart                    = 2                                /*If this bit is set then warm start else cold start.*/
  60. };
  61.  
  62. enum {
  63.     stateNil                    = 0,                            /*State*/
  64.     stateSDMInit                = 1,                            /*:Slot declaration manager Init*/
  65.     statePRAMInit                = 2,                            /*:sPRAM record init*/
  66.     statePInit                    = 3,                            /*:Primary init*/
  67.     stateSInit                    = 4                                /*:Secondary init*/
  68. };
  69.  
  70. enum {
  71.                                                                 /* flags for spParamData */
  72.     fall                        = 0,                            /* bit 0: set=search enabled/disabled sRsrc's */
  73.     foneslot                    = 1,                            /*    1: set=search sRsrc's in given slot only */
  74.     fnext                        = 2                                /*    2: set=search for next sRsrc */
  75. };
  76.  
  77. enum {
  78.                                                                 /* Misc masks */
  79.     catMask                        = 0x08,                            /* sets spCategory field of spTBMask (bit 3) */
  80.     cTypeMask                    = 0x04,                            /* sets spCType    field of spTBMask (bit 2) */
  81.     drvrSWMask                    = 0x02,                            /* sets spDrvrSW   field of spTBMask (bit 1) */
  82.     drvrHWMask                    = 0x01                            /* sets spDrvrHW      field of spTBMask (bit 0) */
  83. };
  84.  
  85. typedef CALLBACK_API( short , SlotIntServiceProcPtr )(long sqParameter);
  86. /*
  87.     WARNING: SlotIntServiceProcPtr uses register based parameters under classic 68k
  88.              and cannot be written in a high-level language without 
  89.              the help of mixed mode or assembly glue.
  90. */
  91. typedef REGISTER_UPP_TYPE(SlotIntServiceProcPtr)                 SlotIntServiceUPP;
  92. #if OPAQUE_UPP_TYPES
  93.     EXTERN_API(SlotIntServiceUPP)
  94.     NewSlotIntServiceUPP           (SlotIntServiceProcPtr    userRoutine);
  95.  
  96.     EXTERN_API(void)
  97.     DisposeSlotIntServiceUPP       (SlotIntServiceUPP        userUPP);
  98.  
  99.     EXTERN_API(short)
  100.     InvokeSlotIntServiceUPP           (long                    sqParameter,
  101.                                     SlotIntServiceUPP        userUPP);
  102.  
  103. #else
  104.     enum { uppSlotIntServiceProcInfo = 0x0000B822 };                 /* register 2_bytes:D0 Func(4_bytes:A1) */
  105.     #define NewSlotIntServiceUPP(userRoutine)                         (SlotIntServiceUPP)NewRoutineDescriptor((ProcPtr)(userRoutine), uppSlotIntServiceProcInfo, GetCurrentArchitecture())
  106.     #define DisposeSlotIntServiceUPP(userUPP)                         DisposeRoutineDescriptor(userUPP)
  107.     #if TARGET_OS_MAC && TARGET_CPU_68K && !TARGET_RT_MAC_CFM
  108.     #pragma parameter __D0 InvokeSlotIntServiceUPP(__A1, __A0)
  109.     short InvokeSlotIntServiceUPP(long sqParameter, SlotIntServiceUPP userUPP) = 0x4E90;
  110.     #else
  111.         #define InvokeSlotIntServiceUPP(sqParameter, userUPP)             (short)CALL_ONE_PARAMETER_UPP((userUPP), uppSlotIntServiceProcInfo, (sqParameter))
  112.     #endif
  113. #endif
  114. /* support for pre-Carbon UPP routines: NewXXXProc and CallXXXProc */
  115. #define NewSlotIntServiceProc(userRoutine)                         NewSlotIntServiceUPP(userRoutine)
  116. #define CallSlotIntServiceProc(userRoutine, sqParameter)        InvokeSlotIntServiceUPP(sqParameter, userRoutine)
  117.  
  118. struct SlotIntQElement {
  119.     Ptr                             sqLink;                        /*ptr to next element*/
  120.     short                             sqType;                        /*queue type ID for validity*/
  121.     short                             sqPrio;                        /*priority*/
  122.     SlotIntServiceUPP                 sqAddr;                        /*interrupt service routine*/
  123.     long                             sqParm;                        /*optional A1 parameter*/
  124. };
  125. typedef struct SlotIntQElement            SlotIntQElement;
  126.  
  127. typedef SlotIntQElement *                SQElemPtr;
  128.  
  129. struct SpBlock {
  130.     long                             spResult;                    /*FUNCTION Result*/
  131.     Ptr                             spsPointer;                    /*structure pointer*/
  132.     long                             spSize;                        /*size of structure*/
  133.     long                             spOffsetData;                /*offset/data field used by sOffsetData*/
  134.     Ptr                             spIOFileName;                /*ptr to IOFile name for sDisDrvrName*/
  135.     Ptr                             spsExecPBlk;                /*pointer to sExec parameter block.*/
  136.     long                             spParamData;                /*misc parameter data (formerly spStackPtr).*/
  137.     long                             spMisc;                        /*misc field for SDM.*/
  138.     long                             spReserved;                    /*reserved for future expansion*/
  139.     short                             spIOReserved;                /*Reserved field of Slot Resource Table*/
  140.     short                             spRefNum;                    /*RefNum*/
  141.     short                             spCategory;                    /*sType: Category*/
  142.     short                             spCType;                    /*Type*/
  143.     short                             spDrvrSW;                    /*DrvrSW*/
  144.     short                             spDrvrHW;                    /*DrvrHW*/
  145.     SInt8                             spTBMask;                    /*type bit mask bits 0..3 mask words 0..3*/
  146.     SInt8                             spSlot;                        /*slot number*/
  147.     SInt8                             spID;                        /*structure ID*/
  148.     SInt8                             spExtDev;                    /*ID of the external device*/
  149.     SInt8                             spHwDev;                    /*Id of the hardware device.*/
  150.     SInt8                             spByteLanes;                /*bytelanes from card ROM format block*/
  151.     SInt8                             spFlags;                    /*standard flags*/
  152.     SInt8                             spKey;                        /*Internal use only*/
  153. };
  154. typedef struct SpBlock                    SpBlock;
  155. typedef SpBlock *                        SpBlockPtr;
  156.  
  157. struct SInfoRecord {
  158.     Ptr                             siDirPtr;                    /*Pointer to directory*/
  159.     short                             siInitStatusA;                /*initialization E*/
  160.     short                             siInitStatusV;                /*status returned by vendor init code*/
  161.     SInt8                             siState;                    /*initialization state*/
  162.     SInt8                             siCPUByteLanes;                /*0=[d0..d7] 1=[d8..d15]*/
  163.     SInt8                             siTopOfROM;                    /*Top of ROM= $FssFFFFx: x is TopOfROM*/
  164.     SInt8                             siStatusFlags;                /*bit 0 - card is changed*/
  165.     short                             siTOConst;                    /*Time Out C for BusErr*/
  166.     SInt8                             siReserved[2];                /*reserved*/
  167.     Ptr                             siROMAddr;                    /* addr of top of ROM */
  168.     SInt8                             siSlot;                        /* slot number */
  169.     SInt8                             siPadding[3];                /* reserved */
  170. };
  171. typedef struct SInfoRecord                SInfoRecord;
  172.  
  173. typedef SInfoRecord *                    SInfoRecPtr;
  174.  
  175. struct SDMRecord {
  176.     ProcPtr                         sdBEVSave;                    /*Save old BusErr vector*/
  177.     ProcPtr                         sdBusErrProc;                /*Go here to determine if it is a BusErr*/
  178.     ProcPtr                         sdErrorEntry;                /*Go here if BusErrProc finds real BusErr*/
  179.     long                             sdReserved;                    /*Reserved*/
  180. };
  181. typedef struct SDMRecord                SDMRecord;
  182.  
  183. struct FHeaderRec {
  184.     long                             fhDirOffset;                /*offset to directory*/
  185.     long                             fhLength;                    /*length of ROM*/
  186.     long                             fhCRC;                        /*CRC*/
  187.     SInt8                             fhROMRev;                    /*revision of ROM*/
  188.     SInt8                             fhFormat;                    /*format - 2*/
  189.     long                             fhTstPat;                    /*test pattern*/
  190.     SInt8                             fhReserved;                    /*reserved*/
  191.     SInt8                             fhByteLanes;                /*ByteLanes*/
  192. };
  193. typedef struct FHeaderRec                FHeaderRec;
  194. typedef FHeaderRec *                    FHeaderRecPtr;
  195. /*
  196.    
  197.        Extended Format header block  -  extended declaration ROM format header for super sRsrc directories.    <H2><SM0>
  198.    
  199. */
  200.  
  201.  
  202. struct XFHeaderRec {
  203.     long                             fhXSuperInit;                /*Offset to SuperInit SExecBlock    <fhFormat,offset>*/
  204.     long                             fhXSDirOffset;                /*Offset to SuperDirectory            <$FE,offset>*/
  205.     long                             fhXEOL;                        /*Psuedo end-of-list                <$FF,nil>*/
  206.     long                             fhXSTstPat;                    /*TestPattern*/
  207.     long                             fhXDirOffset;                /*Offset to (minimal) directory*/
  208.     long                             fhXLength;                    /*Length of ROM*/
  209.     long                             fhXCRC;                        /*CRC*/
  210.     SInt8                             fhXROMRev;                    /*Revision of ROM*/
  211.     SInt8                             fhXFormat;                    /*Format-2*/
  212.     long                             fhXTstPat;                    /*TestPattern*/
  213.     SInt8                             fhXReserved;                /*Reserved*/
  214.     SInt8                             fhXByteLanes;                /*ByteLanes*/
  215. };
  216. typedef struct XFHeaderRec                XFHeaderRec;
  217. typedef XFHeaderRec *                    XFHeaderRecPtr;
  218.  
  219. struct SEBlock {
  220.     UInt8                             seSlot;                        /*Slot number.*/
  221.     UInt8                             sesRsrcId;                    /*sResource Id.*/
  222.     short                             seStatus;                    /*Status of code executed by sExec.*/
  223.     UInt8                             seFlags;                    /*Flags*/
  224.     UInt8                             seFiller0;                    /*Filler, must be SignedByte to align on odd boundry*/
  225.     UInt8                             seFiller1;                    /*Filler*/
  226.     UInt8                             seFiller2;                    /*Filler*/
  227.     long                             seResult;                    /*Result of sLoad.*/
  228.     long                             seIOFileName;                /*Pointer to IOFile name.*/
  229.     UInt8                             seDevice;                    /*Which device to read from.*/
  230.     UInt8                             sePartition;                /*The partition.*/
  231.     UInt8                             seOSType;                    /*Type of OS.*/
  232.     UInt8                             seReserved;                    /*Reserved field.*/
  233.     UInt8                             seRefNum;                    /*RefNum of the driver.*/
  234.     UInt8                             seNumDevices;                /* Number of devices to load.*/
  235.     UInt8                             seBootState;                /*State of StartBoot code.*/
  236.     SInt8                             filler;
  237. };
  238. typedef struct SEBlock                    SEBlock;
  239. /*  Principle  */
  240.                                                                                             #if TARGET_OS_MAC && TARGET_CPU_68K && !TARGET_RT_MAC_CFM
  241.                                                                                             #pragma parameter __D0 SReadByte(__A0)
  242.                                                                                             #endif
  243. EXTERN_API( OSErr )
  244. SReadByte                        (SpBlockPtr             spBlkPtr)                            TWOWORDINLINE(0x7000, 0xA06E);
  245.  
  246.                                                                                             #if TARGET_OS_MAC && TARGET_CPU_68K && !TARGET_RT_MAC_CFM
  247.                                                                                             #pragma parameter __D0 SReadWord(__A0)
  248.                                                                                             #endif
  249. EXTERN_API( OSErr )
  250. SReadWord                        (SpBlockPtr             spBlkPtr)                            TWOWORDINLINE(0x7001, 0xA06E);
  251.  
  252.                                                                                             #if TARGET_OS_MAC && TARGET_CPU_68K && !TARGET_RT_MAC_CFM
  253.                                                                                             #pragma parameter __D0 SReadLong(__A0)
  254.                                                                                             #endif
  255. EXTERN_API( OSErr )
  256. SReadLong                        (SpBlockPtr             spBlkPtr)                            TWOWORDINLINE(0x7002, 0xA06E);
  257.  
  258.                                                                                             #if TARGET_OS_MAC && TARGET_CPU_68K && !TARGET_RT_MAC_CFM
  259.                                                                                             #pragma parameter __D0 SGetCString(__A0)
  260.                                                                                             #endif
  261. EXTERN_API( OSErr )
  262. SGetCString                        (SpBlockPtr             spBlkPtr)                            TWOWORDINLINE(0x7003, 0xA06E);
  263.  
  264.                                                                                             #if TARGET_OS_MAC && TARGET_CPU_68K && !TARGET_RT_MAC_CFM
  265.                                                                                             #pragma parameter __D0 SGetBlock(__A0)
  266.                                                                                             #endif
  267. EXTERN_API( OSErr )
  268. SGetBlock                        (SpBlockPtr             spBlkPtr)                            TWOWORDINLINE(0x7005, 0xA06E);
  269.  
  270.                                                                                             #if TARGET_OS_MAC && TARGET_CPU_68K && !TARGET_RT_MAC_CFM
  271.                                                                                             #pragma parameter __D0 SFindStruct(__A0)
  272.                                                                                             #endif
  273. EXTERN_API( OSErr )
  274. SFindStruct                        (SpBlockPtr             spBlkPtr)                            TWOWORDINLINE(0x7006, 0xA06E);
  275.  
  276.                                                                                             #if TARGET_OS_MAC && TARGET_CPU_68K && !TARGET_RT_MAC_CFM
  277.                                                                                             #pragma parameter __D0 SReadStruct(__A0)
  278.                                                                                             #endif
  279. EXTERN_API( OSErr )
  280. SReadStruct                        (SpBlockPtr             spBlkPtr)                            TWOWORDINLINE(0x7007, 0xA06E);
  281.  
  282. /*  Special  */
  283.                                                                                             #if TARGET_OS_MAC && TARGET_CPU_68K && !TARGET_RT_MAC_CFM
  284.                                                                                             #pragma parameter __D0 SReadInfo(__A0)
  285.                                                                                             #endif
  286. EXTERN_API( OSErr )
  287. SReadInfo                        (SpBlockPtr             spBlkPtr)                            TWOWORDINLINE(0x7010, 0xA06E);
  288.  
  289.                                                                                             #if TARGET_OS_MAC && TARGET_CPU_68K && !TARGET_RT_MAC_CFM
  290.                                                                                             #pragma parameter __D0 SReadPRAMRec(__A0)
  291.                                                                                             #endif
  292. EXTERN_API( OSErr )
  293. SReadPRAMRec                    (SpBlockPtr             spBlkPtr)                            TWOWORDINLINE(0x7011, 0xA06E);
  294.  
  295.                                                                                             #if TARGET_OS_MAC && TARGET_CPU_68K && !TARGET_RT_MAC_CFM
  296.                                                                                             #pragma parameter __D0 SPutPRAMRec(__A0)
  297.                                                                                             #endif
  298. EXTERN_API( OSErr )
  299. SPutPRAMRec                        (SpBlockPtr             spBlkPtr)                            TWOWORDINLINE(0x7012, 0xA06E);
  300.  
  301.                                                                                             #if TARGET_OS_MAC && TARGET_CPU_68K && !TARGET_RT_MAC_CFM
  302.                                                                                             #pragma parameter __D0 SReadFHeader(__A0)
  303.                                                                                             #endif
  304. EXTERN_API( OSErr )
  305. SReadFHeader                    (SpBlockPtr             spBlkPtr)                            TWOWORDINLINE(0x7013, 0xA06E);
  306.  
  307.                                                                                             #if TARGET_OS_MAC && TARGET_CPU_68K && !TARGET_RT_MAC_CFM
  308.                                                                                             #pragma parameter __D0 SNextSRsrc(__A0)
  309.                                                                                             #endif
  310. EXTERN_API( OSErr )
  311. SNextSRsrc                        (SpBlockPtr             spBlkPtr)                            TWOWORDINLINE(0x7014, 0xA06E);
  312.  
  313.                                                                                             #if TARGET_OS_MAC && TARGET_CPU_68K && !TARGET_RT_MAC_CFM
  314.                                                                                             #pragma parameter __D0 SNextTypeSRsrc(__A0)
  315.                                                                                             #endif
  316. EXTERN_API( OSErr )
  317. SNextTypeSRsrc                    (SpBlockPtr             spBlkPtr)                            TWOWORDINLINE(0x7015, 0xA06E);
  318.  
  319.                                                                                             #if TARGET_OS_MAC && TARGET_CPU_68K && !TARGET_RT_MAC_CFM
  320.                                                                                             #pragma parameter __D0 SRsrcInfo(__A0)
  321.                                                                                             #endif
  322. EXTERN_API( OSErr )
  323. SRsrcInfo                        (SpBlockPtr             spBlkPtr)                            TWOWORDINLINE(0x7016, 0xA06E);
  324.  
  325.                                                                                             #if TARGET_OS_MAC && TARGET_CPU_68K && !TARGET_RT_MAC_CFM
  326.                                                                                             #pragma parameter __D0 SDisposePtr(__A0)
  327.                                                                                             #endif
  328. EXTERN_API( OSErr )
  329. SDisposePtr                        (SpBlockPtr             spBlkPtr)                            TWOWORDINLINE(0x7017, 0xA06E);
  330.  
  331.                                                                                             #if TARGET_OS_MAC && TARGET_CPU_68K && !TARGET_RT_MAC_CFM
  332.                                                                                             #pragma parameter __D0 SCkCardStat(__A0)
  333.                                                                                             #endif
  334. EXTERN_API( OSErr )
  335. SCkCardStat                        (SpBlockPtr             spBlkPtr)                            TWOWORDINLINE(0x7018, 0xA06E);
  336.  
  337.                                                                                             #if TARGET_OS_MAC && TARGET_CPU_68K && !TARGET_RT_MAC_CFM
  338.                                                                                             #pragma parameter __D0 SReadDrvrName(__A0)
  339.                                                                                             #endif
  340. EXTERN_API( OSErr )
  341. SReadDrvrName                    (SpBlockPtr             spBlkPtr)                            TWOWORDINLINE(0x7019, 0xA06E);
  342.  
  343.                                                                                             #if TARGET_OS_MAC && TARGET_CPU_68K && !TARGET_RT_MAC_CFM
  344.                                                                                             #pragma parameter __D0 SFindSRTRec(__A0)
  345.                                                                                             #endif
  346. EXTERN_API( OSErr )
  347. SFindSRTRec                        (SpBlockPtr             spBlkPtr)                            TWOWORDINLINE(0x701A, 0xA06E);
  348.  
  349.                                                                                             #if TARGET_OS_MAC && TARGET_CPU_68K && !TARGET_RT_MAC_CFM
  350.                                                                                             #pragma parameter __D0 SFindDevBase(__A0)
  351.                                                                                             #endif
  352. EXTERN_API( OSErr )
  353. SFindDevBase                    (SpBlockPtr             spBlkPtr)                            TWOWORDINLINE(0x701B, 0xA06E);
  354.  
  355.                                                                                             #if TARGET_OS_MAC && TARGET_CPU_68K && !TARGET_RT_MAC_CFM
  356.                                                                                             #pragma parameter __D0 SFindBigDevBase(__A0)
  357.                                                                                             #endif
  358. EXTERN_API( OSErr )
  359. SFindBigDevBase                    (SpBlockPtr             spBlkPtr)                            TWOWORDINLINE(0x701C, 0xA06E);
  360.  
  361. /*  Advanced  */
  362.                                                                                             #if TARGET_OS_MAC && TARGET_CPU_68K && !TARGET_RT_MAC_CFM
  363.                                                                                             #pragma parameter __D0 InitSDeclMgr(__A0)
  364.                                                                                             #endif
  365. EXTERN_API( OSErr )
  366. InitSDeclMgr                    (SpBlockPtr             spBlkPtr)                            TWOWORDINLINE(0x7020, 0xA06E);
  367.  
  368.                                                                                             #if TARGET_OS_MAC && TARGET_CPU_68K && !TARGET_RT_MAC_CFM
  369.                                                                                             #pragma parameter __D0 SPrimaryInit(__A0)
  370.                                                                                             #endif
  371. EXTERN_API( OSErr )
  372. SPrimaryInit                    (SpBlockPtr             spBlkPtr)                            TWOWORDINLINE(0x7021, 0xA06E);
  373.  
  374.                                                                                             #if TARGET_OS_MAC && TARGET_CPU_68K && !TARGET_RT_MAC_CFM
  375.                                                                                             #pragma parameter __D0 SCardChanged(__A0)
  376.                                                                                             #endif
  377. EXTERN_API( OSErr )
  378. SCardChanged                    (SpBlockPtr             spBlkPtr)                            TWOWORDINLINE(0x7022, 0xA06E);
  379.  
  380.                                                                                             #if TARGET_OS_MAC && TARGET_CPU_68K && !TARGET_RT_MAC_CFM
  381.                                                                                             #pragma parameter __D0 SExec(__A0)
  382.                                                                                             #endif
  383. EXTERN_API( OSErr )
  384. SExec                            (SpBlockPtr             spBlkPtr)                            TWOWORDINLINE(0x7023, 0xA06E);
  385.  
  386.                                                                                             #if TARGET_OS_MAC && TARGET_CPU_68K && !TARGET_RT_MAC_CFM
  387.                                                                                             #pragma parameter __D0 SOffsetData(__A0)
  388.                                                                                             #endif
  389. EXTERN_API( OSErr )
  390. SOffsetData                        (SpBlockPtr             spBlkPtr)                            TWOWORDINLINE(0x7024, 0xA06E);
  391.  
  392.                                                                                             #if TARGET_OS_MAC && TARGET_CPU_68K && !TARGET_RT_MAC_CFM
  393.                                                                                             #pragma parameter __D0 SInitPRAMRecs(__A0)
  394.                                                                                             #endif
  395. EXTERN_API( OSErr )
  396. SInitPRAMRecs                    (SpBlockPtr             spBlkPtr)                            TWOWORDINLINE(0x7025, 0xA06E);
  397.  
  398.                                                                                             #if TARGET_OS_MAC && TARGET_CPU_68K && !TARGET_RT_MAC_CFM
  399.                                                                                             #pragma parameter __D0 SReadPBSize(__A0)
  400.                                                                                             #endif
  401. EXTERN_API( OSErr )
  402. SReadPBSize                        (SpBlockPtr             spBlkPtr)                            TWOWORDINLINE(0x7026, 0xA06E);
  403.  
  404.                                                                                             #if TARGET_OS_MAC && TARGET_CPU_68K && !TARGET_RT_MAC_CFM
  405.                                                                                             #pragma parameter __D0 SCalcStep(__A0)
  406.                                                                                             #endif
  407. EXTERN_API( OSErr )
  408. SCalcStep                        (SpBlockPtr             spBlkPtr)                            TWOWORDINLINE(0x7028, 0xA06E);
  409.  
  410.                                                                                             #if TARGET_OS_MAC && TARGET_CPU_68K && !TARGET_RT_MAC_CFM
  411.                                                                                             #pragma parameter __D0 SInitSRsrcTable(__A0)
  412.                                                                                             #endif
  413. EXTERN_API( OSErr )
  414. SInitSRsrcTable                    (SpBlockPtr             spBlkPtr)                            TWOWORDINLINE(0x7029, 0xA06E);
  415.  
  416.                                                                                             #if TARGET_OS_MAC && TARGET_CPU_68K && !TARGET_RT_MAC_CFM
  417.                                                                                             #pragma parameter __D0 SSearchSRT(__A0)
  418.                                                                                             #endif
  419. EXTERN_API( OSErr )
  420. SSearchSRT                        (SpBlockPtr             spBlkPtr)                            TWOWORDINLINE(0x702A, 0xA06E);
  421.  
  422.                                                                                             #if TARGET_OS_MAC && TARGET_CPU_68K && !TARGET_RT_MAC_CFM
  423.                                                                                             #pragma parameter __D0 SUpdateSRT(__A0)
  424.                                                                                             #endif
  425. EXTERN_API( OSErr )
  426. SUpdateSRT                        (SpBlockPtr             spBlkPtr)                            TWOWORDINLINE(0x702B, 0xA06E);
  427.  
  428.                                                                                             #if TARGET_OS_MAC && TARGET_CPU_68K && !TARGET_RT_MAC_CFM
  429.                                                                                             #pragma parameter __D0 SCalcSPointer(__A0)
  430.                                                                                             #endif
  431. EXTERN_API( OSErr )
  432. SCalcSPointer                    (SpBlockPtr             spBlkPtr)                            TWOWORDINLINE(0x702C, 0xA06E);
  433.  
  434.                                                                                             #if TARGET_OS_MAC && TARGET_CPU_68K && !TARGET_RT_MAC_CFM
  435.                                                                                             #pragma parameter __D0 SGetDriver(__A0)
  436.                                                                                             #endif
  437. EXTERN_API( OSErr )
  438. SGetDriver                        (SpBlockPtr             spBlkPtr)                            TWOWORDINLINE(0x702D, 0xA06E);
  439.  
  440.                                                                                             #if TARGET_OS_MAC && TARGET_CPU_68K && !TARGET_RT_MAC_CFM
  441.                                                                                             #pragma parameter __D0 SPtrToSlot(__A0)
  442.                                                                                             #endif
  443. EXTERN_API( OSErr )
  444. SPtrToSlot                        (SpBlockPtr             spBlkPtr)                            TWOWORDINLINE(0x702E, 0xA06E);
  445.  
  446.                                                                                             #if TARGET_OS_MAC && TARGET_CPU_68K && !TARGET_RT_MAC_CFM
  447.                                                                                             #pragma parameter __D0 SFindSInfoRecPtr(__A0)
  448.                                                                                             #endif
  449. EXTERN_API( OSErr )
  450. SFindSInfoRecPtr                (SpBlockPtr             spBlkPtr)                            TWOWORDINLINE(0x702F, 0xA06E);
  451.  
  452.                                                                                             #if TARGET_OS_MAC && TARGET_CPU_68K && !TARGET_RT_MAC_CFM
  453.                                                                                             #pragma parameter __D0 SFindSRsrcPtr(__A0)
  454.                                                                                             #endif
  455. EXTERN_API( OSErr )
  456. SFindSRsrcPtr                    (SpBlockPtr             spBlkPtr)                            TWOWORDINLINE(0x7030, 0xA06E);
  457.  
  458.                                                                                             #if TARGET_OS_MAC && TARGET_CPU_68K && !TARGET_RT_MAC_CFM
  459.                                                                                             #pragma parameter __D0 SDeleteSRTRec(__A0)
  460.                                                                                             #endif
  461. EXTERN_API( OSErr )
  462. SDeleteSRTRec                    (SpBlockPtr             spBlkPtr)                            TWOWORDINLINE(0x7031, 0xA06E);
  463.  
  464. EXTERN_API( OSErr )
  465. OpenSlot                        (ParmBlkPtr             paramBlock,
  466.                                  Boolean                 async);
  467.  
  468.                                                                                             #if TARGET_OS_MAC && TARGET_CPU_68K && !TARGET_RT_MAC_CFM
  469.                                                                                             #pragma parameter __D0 OpenSlotSync(__A0)
  470.                                                                                             #endif
  471. EXTERN_API( OSErr )
  472. OpenSlotSync                    (ParmBlkPtr             paramBlock)                            ONEWORDINLINE(0xA200);
  473.  
  474.                                                                                             #if TARGET_OS_MAC && TARGET_CPU_68K && !TARGET_RT_MAC_CFM
  475.                                                                                             #pragma parameter __D0 OpenSlotAsync(__A0)
  476.                                                                                             #endif
  477. EXTERN_API( OSErr )
  478. OpenSlotAsync                    (ParmBlkPtr             paramBlock)                            ONEWORDINLINE(0xA600);
  479.  
  480. /*  Device Manager Slot Support  */
  481.                                                                                             #if TARGET_OS_MAC && TARGET_CPU_68K && !TARGET_RT_MAC_CFM
  482.                                                                                             #pragma parameter __D0 SIntInstall(__A0, __D0)
  483.                                                                                             #endif
  484. EXTERN_API( OSErr )
  485. SIntInstall                        (SQElemPtr                 sIntQElemPtr,
  486.                                  short                     theSlot)                            ONEWORDINLINE(0xA075);
  487.  
  488.                                                                                             #if TARGET_OS_MAC && TARGET_CPU_68K && !TARGET_RT_MAC_CFM
  489.                                                                                             #pragma parameter __D0 SIntRemove(__A0, __D0)
  490.                                                                                             #endif
  491. EXTERN_API( OSErr )
  492. SIntRemove                        (SQElemPtr                 sIntQElemPtr,
  493.                                  short                     theSlot)                            ONEWORDINLINE(0xA076);
  494.  
  495.                                                                                             #if TARGET_OS_MAC && TARGET_CPU_68K && !TARGET_RT_MAC_CFM
  496.                                                                                             #pragma parameter __D0 SVersion(__A0)
  497.                                                                                             #endif
  498. EXTERN_API( OSErr )
  499. SVersion                        (SpBlockPtr             spBlkPtr)                            TWOWORDINLINE(0x7008, 0xA06E);
  500.  
  501.                                                                                             #if TARGET_OS_MAC && TARGET_CPU_68K && !TARGET_RT_MAC_CFM
  502.                                                                                             #pragma parameter __D0 SetSRsrcState(__A0)
  503.                                                                                             #endif
  504. EXTERN_API( OSErr )
  505. SetSRsrcState                    (SpBlockPtr             spBlkPtr)                            TWOWORDINLINE(0x7009, 0xA06E);
  506.  
  507.                                                                                             #if TARGET_OS_MAC && TARGET_CPU_68K && !TARGET_RT_MAC_CFM
  508.                                                                                             #pragma parameter __D0 InsertSRTRec(__A0)
  509.                                                                                             #endif
  510. EXTERN_API( OSErr )
  511. InsertSRTRec                    (SpBlockPtr             spBlkPtr)                            TWOWORDINLINE(0x700A, 0xA06E);
  512.  
  513.                                                                                             #if TARGET_OS_MAC && TARGET_CPU_68K && !TARGET_RT_MAC_CFM
  514.                                                                                             #pragma parameter __D0 SGetSRsrc(__A0)
  515.                                                                                             #endif
  516. EXTERN_API( OSErr )
  517. SGetSRsrc                        (SpBlockPtr             spBlkPtr)                            TWOWORDINLINE(0x700B, 0xA06E);
  518.  
  519.                                                                                             #if TARGET_OS_MAC && TARGET_CPU_68K && !TARGET_RT_MAC_CFM
  520.                                                                                             #pragma parameter __D0 SGetTypeSRsrc(__A0)
  521.                                                                                             #endif
  522. EXTERN_API( OSErr )
  523. SGetTypeSRsrc                    (SpBlockPtr             spBlkPtr)                            TWOWORDINLINE(0x700C, 0xA06E);
  524.  
  525.                                                                                             #if TARGET_OS_MAC && TARGET_CPU_68K && !TARGET_RT_MAC_CFM
  526.                                                                                             #pragma parameter __D0 SGetSRsrcPtr(__A0)
  527.                                                                                             #endif
  528. EXTERN_API( OSErr )
  529. SGetSRsrcPtr                    (SpBlockPtr             spBlkPtr)                            TWOWORDINLINE(0x701D, 0xA06E);
  530.  
  531.  
  532.  
  533.  
  534. #if PRAGMA_STRUCT_ALIGN
  535.     #pragma options align=reset
  536. #elif PRAGMA_STRUCT_PACKPUSH
  537.     #pragma pack(pop)
  538. #elif PRAGMA_STRUCT_PACK
  539.     #pragma pack()
  540. #endif
  541.  
  542. #ifdef PRAGMA_IMPORT_OFF
  543. #pragma import off
  544. #elif PRAGMA_IMPORT
  545. #pragma import reset
  546. #endif
  547.  
  548. #ifdef __cplusplus
  549. }
  550. #endif
  551.  
  552. #endif /* __SLOTS__ */
  553.  
  554.